Routers in networks use routing protocols to communicate with other routers and to determine the best pathway for a given packet of information. Routing protocols make this determination based on specific metrics of each information packet being sent on the network. Examples of these information packet metrics include, but are not limited to, the hop-count, the latency, and the bandwidth capacity. Typically, routing protocols determine the best route for a given information packet based on only one metric. However, because the types of information packets are constantly evolving and changing, the “one-size-fits-all” strategy used by routing protocols for all application packets may result in degraded routing efficiency.
Previous attempts have been made to overcome the inefficiencies resulting from basing routing protocols on only one metric. For example, vendors provide network administrators with multiple metrics to choose from when installing and instantiating a routing protocol. The network administrator then chooses a metric that maximizes the routing efficiency to the largest amount of information packets. However, this results in degraded efficiency for many information packets that are not benefited by the use of a single metric. For example, the protocol used for efficiently routing a voice file may not be the most efficient protocol to use for routing a video file.
Accordingly, there is a need in the art for a method that allows routing protocols to determine the pathway for a given information packet by simultaneously computing multiple metrics of that information packet. There is also a need for a method that allows different routing protocols to be implemented for different types of data. Further, there is a need for a routing protocol that can install and incorporate new metrics for computing the best route for information packets.